﻿namespace Nikov_20090308_1
{
	using System;
	using System.Linq;

	struct C : IDisposable
	{
		public static C operator +(C x, object y)
		{
			return x;
		}

		public void Dispose() { }
	}

	class P
	{
		static IDisposable x;
		static bool C;

		static void Nikov_20090308_1_Main()
		{
			using (C? x = new C() + from y in new[] { 1 }
															join z in new[] { 1 } on y equals z
															let s = y + z
															select s is int ? "" : null) { }

			using ( C? x = new C() + from y in new[] { 1 }
															 join z in new[] { 1 } on y equals z
															 let s = y + z
															 select s is int? /* "" */ : null) { }
		}
	}
}